package config

import (
	"fmt"
	"gopkg.in/yaml.v2"
	"io/ioutil"
)

type ServerConfig struct {
	ListenPort string `yaml:"listen_port"`

	MysqlUser    string `yaml:"mysql_user"`
	MysqlPwd     string `yaml:"mysql_pwd"`
	MysqlHost    string `yaml:"mysql_host"`
	MysqlPort    int    `yaml:"mysql_port"`
	MysqlDb      string `yaml:"mysql_db"`
	MysqlMaxConn int    `yaml:"mysql_max_conn"`

	MysqlUser2    string `yaml:"mysql_user2"`
	MysqlPwd2     string `yaml:"mysql_pwd2"`
	MysqlHost2    string `yaml:"mysql_host2"`
	MysqlPort2    int    `yaml:"mysql_port2"`
	MysqlDb2      string `yaml:"mysql_db2"`
	MysqlMaxConn2 int    `yaml:"mysql_max_conn2"`
}

var Config *ServerConfig

func LoadServerConfig(file string) *ServerConfig {
	config := &ServerConfig{}
	config.Load(file)
	Config = config
	return config
}

func (config *ServerConfig) Load(path string) error {
	body, err := ioutil.ReadFile(path)
	if err != nil {
		fmt.Printf("ReadFile err: %s\n", err.Error())
		return err
	}
	return yaml.Unmarshal(body, config)
}
